home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Screenblankers / GBlanker / GSource / Blankers / Waves / CrazyAnt.doc < prev    next >
Text File  |  1996-09-26  |  2KB  |  84 lines

  1.  
  2.                     GarshneBlanker modules collection 
  3.             ---------------------------------
  4.                                  volume I
  5.                  --------
  6.  
  7.                          version 1.0 (Jan 24 1995)
  8.  
  9.                   programs, sources and documentation are
  10.                       copyright 1995 Marzio De Biasi
  11.                             All Rights Reserved
  12.  
  13.  
  14.                              CrazyAnt blanker
  15.                              ****************
  16.                                    v1.0
  17.                            technical information
  18.  
  19.  
  20. Description
  21. -----------
  22.  
  23.   The screen represents a 2D finite grid; at first, each cell of the grid
  24.   is black (few of them can be randomly coloured).
  25.  
  26.   A crazy ant (the white cell) is placed in the center of the grid, then
  27.   the ant starts its long trip: at each tick, it changes the color of the
  28.   cell where it is, turns itself 90 degrees left or right (the choice is
  29.   made by its crazy-brain) and move forward one step.
  30.  
  31.   The ant dies when it gets out of the screen, but a new ant is suddenly
  32.   set free.
  33.  
  34.   The random-ant produces nice configurations that seems not to be so
  35.   random!!!
  36.  
  37.  
  38.  
  39.  
  40. Garshneblanker preference window
  41. --------------------------------
  42.  
  43.   You can set the following parameters:
  44.  
  45.   Ant size    : the size of the grid-cells (and of the ant).
  46.   --------
  47.  
  48.   Initial blobs : number of cells that are randomly coloured before the
  49.   -------------   ant is set free; the configurations will be very
  50.           interesting even though there are no initial blobs.
  51.  
  52.   Delay        : ant speed; lower values correspond to a faster ant.
  53.   -----
  54.  
  55.  
  56.  
  57.  
  58. Algorithm description
  59. ---------------------
  60.  
  61.   NC        : screen colors        (NC = 2 ^ Screen_depth)  
  62.   GRID_W    : grid width        (GRID_W = Screen_width / ant_size)
  63.   GRID_H    : grid height        (GRID_H = Screen_height / ant_size)
  64.   GRID(x,y)    : color of cell at (x,y)
  65.   BRAIN        : ant's brain, a vector of NC bits
  66.   (ANT_X, ANT_Y): ant's position  
  67.   DIRECTION    : ant's direction (0 = N, 1 = E, 2 = S, 3 = W)
  68.  
  69.  
  70.   - while (ANT_X, ANT_Y) is inside screen region repeats these steps
  71.  
  72.     - c = GRID(ANT_X, ANT_Y)
  73.  
  74.     - if ( BRAIN[c] == 1) 
  75.         then DIRECTION = (DIRECTION + 1) mod 4
  76.         else DIRECTION = (DIRECTION + 3) mod 4
  77.  
  78.     - GRID(ANT_X, ANT_Y) = (c + 1) mod NC
  79.  
  80.     - moves ant one step in direction DIRECTION
  81.  
  82.     - redraws new-coloured cell and ant 
  83.  
  84.